民生银行云环境下的网络流量采集探索与实践 | 最佳实践
【作者】兰庆白,网络资深运维经理,2011年加入民生银行,任职于信息科技部网络管理中心。14年银行网络建设、规划及运维经验,擅长网络规划建设及流量分析。目前负责数据中心网络规划、建设及相关运维工作,参与数据中心SDN网络建设,重点研究网络流量分析在云环境下的落地。
1 综述
近两年,迈入FinTech时代的商业银行纷纷抢占新一轮技术革命先机,积极进行数字化转型,加大对云计算、大数据、人工智能、区块链和物联网等新技术的研究和应用,提升科技服务能力的同时为客户提供智能、全方位、差异化服务。数字化转型离不开信息技术和IT架构的创新和建设,民生银行作为具有全国影响力的股份制商业银行,在《改革转型信息科技实施方案暨信息科技三年规划》的指导下,积极探索云计算技术在数据中心的落地,目前分行测试云、行业云已成功上线并稳定运行。
云计算通过云管、云平台及虚拟化技术实现了资源的统一池化管理,支持多租户、自服务以及资源弹性伸缩。云计算技术在带来以上优势的同时,也给传统的流量采集带来了新的挑战。本文结合民生银行分行测试云建设的实际情况,探索和研究云环境下的网络流量采集实现方案。
2 网络流量采集的价值
网络流量采集大多利用网络设备支持旁路流量镜像的方式实现。通过旁路镜像获取原始业务流量的方式,对生产在线业务无任何影响,旁路的监控方式可实现各监控平台的集中统一部署并释放大量的主机资源。
从目前行业使用来看,旁路网络流量采集是所有旁路流量监控和分析平台的基础,旁路网络流量采集不仅仅具有采集功能,同时还可以对采集的流量进行分类、标记、去重、复制、脱敏、过滤等流量优化功能,实现流量资源的灵活按需供给。对于数据中心运维来说,通过建立统一的网络流量采集平台,结合各监控分析平台可以极大提升运维管理水平和业务连续性管理水平。
1.提供监控分析数据源:通过网络流量采集获取的网络基础架构上业务交互的流量,可为网络监控、交易监控、安全监控、大数据、客户行为分析、访问策略需求梳理优化、各类可视化分析平台以及成本分析、应用扩容、迁移等提供所需的数据源。
2.提供举证溯源功能:在日常开发测试、生产运维过程中时常会因为故障已经发生,缺少历史故障时间点的真实数据进行详细分析和定位,互相推诿的情况时有发生。通过网络流量采集可以实现对历史数据进行回溯分析和故障诊断,为开发、应用、业务部门提供历史数据支撑,彻底解决取证难、效率低,甚至互相推诿的问题。
3.解决监控数据来源不一致问题,提升应急处置效率:通过为网络、应用监控、交易监控、安全监控等平台提供统一的数据源,可消除原有各监控平台存在采集信息来源不一致、信息不对称问题,提升各类突发事件处置效率,快速定位问题,恢复业务,提高业务连续性水平。
4.提供数据合并功能:通过建立统一的网络流量采集平台,可以对部署同城双中心甚至多中心的分散流量进行合并再处理,结合过滤等优化功能实现按需供给。
5.消除干扰、充分释放主机资源:没有网络流量采集的情况下,基于交易或安全的监控代理需要部署在服务器上。一方面对应用的稳定性可能会带来一定的影响,同时也需要消耗一定的主机资源。另一方面在故障分析时需要排除监控代理自身因素,给故障定位带来了一定的干扰。而通过旁路的流量采集则可以规避此类问题。
另外,需要重点说明的时,流量采集作为旁路分析的基础供数平台,与生产网络一样,其自身的稳定性、可靠性和准确性相当重要。比如就准确性来说,流量采集原则上不允许出现任何丢包、拥塞的情况,否则会导致上层的监控分析结果出现偏差,甚至产生频繁的监控误告警,监控分析也就失去了其本来的价值。
基于以上原因,我行在最新的流量采集平台建设中首次采用了先进的SPINE-LEAF架构,大量采用万M接入、多链路负载均衡以及源端口流量优化机制并逐步向40G/100G过渡,以实现无丢包的流量采集和供数能力。
3 传统网络流量采集的方案
目前传统的网络环境中流量采集主要有如下四种方式:
1.镜像直通方式:直接通过交换机镜像方式将采集的流量给到分析工具。优点是实现简单、无需增加新的投入,缺点是不灵活,受交换机镜像功能的限制在将流量给到分析工具之前无法对采集的流量进行预先的优化处理,对监控工具的性能和端口消耗过大。此种方案一般只适合于中小规模的部署情况。
2.分光器方式:将分光器串接在网络设备之间,采用分光技术将线路上的流量复制一份出来给到采集平台。此种方案优点是对网络设备无影响,缺点是串接需要调整布线,设备之间串接分光器后对数据传输的稳定性可能带来一定的影响。此种方案一般不作为独立方案使用,且大多仅在局部使用,实际应用时可考虑作为镜像方式的补充,物理网络设备互联流量集中的场景中可考虑采用分光器方式解决物理交换机镜像能力不足的问题。
3.建立专门的流量采集平台:通过成熟的硬件搭建独立的采集平台接收镜像或分光器等来源流量,然后供数给各分析平台。此方案优点是可实现跨中心、跨地域的流量聚合功能;可对流量进行优化、预处理,有效减轻分析平台的压力;同时具备流量复制功能,一份原始流量,多平台复用;亦可根据各监控平台特点和需求实现按需供给。此种方案适合于需要对流量进行优化或需给多分析平台供数的情况,方案应用比较广泛。
4.Netflow方式:此方案通过在网络设备接口下启用Netflow功能,将采集的信息走以太网络传递给监控平台。优点是可以采集到一些通过镜像方式无法采集到的流量,如路由器上的非以太接口的流量,缺点是只能作采样,无法采集原始流量,采样比过大时对网络设备稳定性和性能影响较大,部署时需详细评估。此方式大多用于骨干或外联专线作基本的流量成分分析和安全分析,通常作为整体流量监控的辅助手段。
4 云环境下流量采集面临的挑战
云服务在我国各行业中的占比越来越大。自2017年起,我国已有70%以上的省市先后出台政策,推动当地企业加速上云。据机构预计2020年云化数据中心的东西向流量将占数据中心总流量的80%以上。企业上云后,不再大规模使用物理机部署业务,大多利用虚拟化技术对计算资源进行统一的池化管理,这时同一物理机不同虚机之间的业务交互的东西流量不再经过网络物理交换机。传统数据中心的流量采集方案十分成熟,但云环境下的流量采集实现面临着诸多挑战:
1) 虚机监控的缺失:云计算和虚拟化将网络的边界延伸到了物理服务器内部,同一物理机内部不同虚机之间的东西流量交互不再经过物理交换机,传统的通过物理交换机镜像获取业务交互流量的方式已不能适应虚机之间流量采集,云环境中东西流量的采集需打破传统的完全旁路无侵入的镜像模式,将采集客户端部署到服务器上。
2) 性能挑战:传统的流量采集通过在接入交换机上有选择地镜像(比如只镜像关键业务主机交换机端口流量)将流量引给流量采集平台,目前来看传统数据中心交换机镜像性能上暂时还不存在过大的压力。但在云环境中服务器大多通过10G或25G高密接入。由于交换机镜像只能基于接口采集所有流量,无法作过滤,在此种模式下,交换机上集中镜像的方式必然会给网络设备带来性能和稳定性的影响。
3) 静态的采集和运维方式不能适应云化环境的变化:企业上云之后,计算、存储、网络等物理资源被池化和虚拟化,实现集中的自动化运维,网络人员不再需要过多关心底层计算资源与网络资源的映射。云环境中虚机上线、下线、扩容、迁移、故障切换频繁且均通过自动化实现,传统的通过静态镜像进行流量采集的方式无法感知虚机的变化,镜像策略更是无法随虚机的切换实现同步部署。
5 云环境下的流量采集实践
5.1 建设目标
从上面的描述可以看出,云环境下的流量采集重点要关注虚拟机之间东西向流量的采集以及性能问题。同时鉴于云平台的动态性特点,云环境下的流量采集需突破现有传统交换机镜像的模式,实现灵活、自动化的采集和监控部署功能,以匹配云网络的自动化运维目标,综合考虑云环境下的流量采集需实现如下目标:
实现虚拟机之间东西向流量的采集功能
采集部署到计算节点上,采用分布式采集架构,规避通过交换机镜像带来的性能和稳定性问题
可动态感知云环境中虚拟机资源的变化,采集策略可随虚拟机资源的变化进行自动调整
采集工具自身需具备过载保护机制,最小化对服务器的影响
采集工具自身具备流量优化功能
采集平台可对采集的虚拟机流量进行监控
5.2 云环境虚机流量采集模式的选择
云环境中虚机流量采集需将采集探针部署到计算节点上,根据计算节点上可部署采集点的位置,云环境下的虚拟机流量采集模式可分为Agent模式、虚机模式、宿主机模式三种,对比说明如下:
Agent模式:在云环境中的每一台需采集流量的虚拟机上安装采集软探针(Agent代理),通过Agent代理软件提取云环境东西向流量,分发给各分析平台,优点是与虚拟化平台无关,不影响虚拟交换机性能,可随虚机迁移,可作流量过滤,缺点是需管理的Agent过多,故障时无法排除Agent自身的影响,需共用现有生产网卡吐流量,可能会对业务交互产生影响,新建虚机需同步部署Agent。
虚机模式:在云环境每台物理宿主机上安装统一的采集虚拟机并在采集虚拟机上部署采集软探针,通过在虚拟交换机上镜像虚拟网卡流量的方式将该宿主机上的流量镜像给采集虚拟机,然后由该采集虚拟机通过专用网卡传输至传统物理流量采集平台,再分发至各监控分析平台。优点是软交换机旁路镜像,对现有业务网卡和虚拟机无侵扰,通过一定的手段也可实现对虚机变化的感知和策略的自动迁移,缺点是采集虚拟机被动接收流量无法实现过载保护机制,可镜像的流量大小由虚拟交换机性能决定,对虚拟交换机稳定性有一定影响,KVM环境中需由云平台统一下发镜像流表,管理维护复杂,特别是宿主机故障时,采集虚机等同于业务虚机也会随着其它虚机迁移到不同的宿主机上,此时采集策略和采集虚机如何管理维护目前来看还没有较好的解决方案。
宿主机模式:通过在云环境每台物理宿主机上部署独立采集软探针,以进程模式工作在宿主机上,并将采集的流量传输至传统物理流量采集平台。优点是完全旁路的机制,对虚机、业务网卡、虚机交换机均无侵扰,采集方式简单,管理方便,无需维护独立虚机,轻量级且采集软探针可实现过载保护。由于是作为宿主机上的进程,可对宿主机和虚机资源、性能等进行监控,指导镜像策略的部署。缺点是需消耗一定宿主机的资源,重点需关注性能影响,另外可能存在某些虚机化平台不支持宿主机上部署采集软件探针的情况。
综上所述,宿主机模式的天生完全旁路的方式优势明显,风险较低,且与我行使用的基于OpenStack的云平台和KVM虚拟平台完全匹配,因此我行在云环境中选择了宿主机上部署软采集探针的方式实现云环境中虚机流量的采集。
5.3 云环境下的流量采集平台架构
如下图所示,云环境下的流量采集平台采用了两级架构,包括云网络流量采集控制器和云网络流量采集客户端。
云网络流量采集控制器:通过API与Openstack云平台无缝对接,自动学习云平台内主机、项目、虚拟机、网络等资源以及网络和资源的映射关系,监控云环境中各类资源间网络连接和流量。云网络流量采集控制器对流量采集策略、云网络流量采集客户端进行统一管理。控制器可自动感知云网络中的虚机变化,当有虚机上线、下线、迁移时,采集策略自动进行匹配,无需人工干预。
云网络流量采集客户端:部署在每一个计算节点上负责接收控制器下发的采集策略,实现对虚机流量采集、流量按需分发、复制、切片、去重等优化功能,并通过独立的主机网卡与现有的流量采集平台建立VxLAN隧道,将流量吐给现有流量采集平台(也可以吐给网络交换机),实现云网络采集流量和传统网络采集流量的统一管理。
5.4 云环境下的流量采集实践效果
经过优化,云环境下的流量采集平台已在我行分行测试云中成功试点,并与我行现有流量采集平台实现了无缝对接,目前运行稳定。云环境下的流量采集平台的成功上线,扩展了现有流量采集平台的功能,解决了云环境中流量采集的各类痛点问题。
云平台资源自动发现和关联
通过API与Openstack云平台无缝对接,控制器可以发现云平台中的各类资源,包括区域、用户、VPC、子网、路由器、虚拟机等,并直观地展现给网络管理员。
结合采集器的监控和采集功能,可以基于各个维度可视化展现当前云环境中的资源使用和流量监控情况,方便运维人员随时掌握云环境中的流量采集和资源部署情况。如可基于VPC建立网段、虚机及IP的映射关系,并实时监控虚机的监控部署情况及流量。
灵活的采集策略
采集客户端是运行于计算节点的用户态进程,资源占用低并且具备完整的流量预处理能力。采集客户端部署实施时无需对现有系统进行改造,对生产系统的依赖和影响降到了最低,在大规模虚拟网络环境中,采集器满足部署零依赖、策略零干扰、资源消耗低等特性。
采集客户端通过从控制器获取采集规则,实现精细采集和引流控制。采集客户端采集规则可以基于IP、IP段、虚机、子网、端口等多角度进行采集,另外也可以自定义资源组进行采集。
采集客户端可以镜像全部网络流量或根据具体需求只截取网络包头数据转发给后端系统进行分析处理。另外采集客户端还提供多点差异化分发功能,如可对于同一份采集的流量根据不同的需求匹配不同的优化策略(如过滤、切包、去重等)分发给不同的分析工具。采集客户端和流量采集平台(或交换机)之间自动建立VxLAN隧道,并将指定流量通过VxLAN隧道转发给流量采集平台或目标分析工具。
过载保护机制
基于宿主机部署采集客户端的方式虽然部署简单,对业务虚机、虚机交换机无侵扰,但相对传统的交换机镜像完全旁路的模式,其部署在宿主机上,自身的稳定性仍可能对宿主机产生一定的影响。为了解决此问题,我行针对采集器基于CPU/内存资源占用及采集性能单独设置了过载保护机制,当超过阀值后采集器将自动停止采集以规避对宿主机的影响,过载保护机制的设置既可以基于单个采集客户端区别化配置,也可以基于所有采集器统一设置。
6 展望
云环境下的流量采集平台虽已解决了当前云环境中流量采集的诸多问题,但目前我行云环境下的流量采集还处于初级阶段,平台功能还需要结合实际运维需求不断完善,比如多云支持、性能提升、平台自身监控功能等。
随着容器、微隔离、分布式负载均衡在云环境中的推广和应用,必然会给云环境中的流量采集带来新的挑战,网络流量采集平台需要紧跟新技术的发展路线,不断扩展其功能。目前我行已实现云环境和虚拟化平台下的流量采集功能,后续我行将积极探索容器平台、微隔离、分布式负载均衡等环境下的流量采集方案,不断优化现有平台功能,满足新环境下的业务连续性和运维要求。
由公众号“民生运维”授权转载 觉得本文有用,请转发或点击“在看”,让更多同行看到
资料/文章推荐:
欢迎关注社区 “网络”技术主题,将会不断更新优质资料、文章。地址:
http://www.talkwithtrend.com/Topic/785
下载 twt 社区客户端 APP
长按识别二维码即可下载
或到应用商店搜索“twt”
长按二维码关注公众号
*本公众号所发布内容仅代表作者观点,不代表社区立场